package com.atguigu.gmall.index.config;

import java.lang.annotation.*;

@Target(ElementType.METHOD)//注解以后标注的位置，ElementType.METHOD 可以标注在方法上
@Retention(RetentionPolicy.RUNTIME) //注解以后编译的地方   注解编译时和运行时 都会加载
@Documented
public @interface GmallCache {
    // 缓存key的前缀、分布式锁key的前缀、缓存的过期时间、随机时间、空值缓存的时间
    //缓存key的前缀：默认 cache:
    String cacheKeyPrefix() default "cache:";
    //分布式锁key的前缀：
    String lockKeyPrefix() default "lock:";
    //缓存的过期时间：默认7天，单位h
    int timeout() default 7*24;
    //随机因子
    int random() default 24;
    //空值的缓存时间
    int nullTimtout() default 2;
}
